<?php
require_once("./banco/BancoMysql.php");
require "./base/Empresa.php";

class RepositorioEmpresa {

	private $empresa;
	private $db;

	public function __construct($empresa = array (), $db = "MySQL") {
		$this->setEmpresa($empresa);
		$this->setDb($db);
	}

	public function setDb($valor) {
		$banco = "Banco" . $valor;
		$this->db = new $banco ();

		$this->db->setDb('weegodb');
	}

	public function setEmpresa($valor) {
		$this->empresa = $valor;
	}

	public function getEmpresa() {
		return $this->empresa;
	}	
	
	public function selecionarEmpresa($empresa=null) {
		$this->db->abrirConexao();
		$sql = "SELECT * FROM empresa WHERE status = 0";
		if (!empty($empresa)) {
			$sql .= " AND nome = ". $empresa->getNome() ;
		}		

		if ( $this->db->executaConsulta($sql) ) {
			$matrizResult = $this->db->getResultSet();	
			
			return $matrizResult;
		}		
		
		$this->db->fecharConexao();
	}
	
	public function selecionarEmpresaPorId($empresa) {
		$this->db->abrirConexao();
		$sql = "SELECT * FROM empresa WHERE status = 0
				AND id = ". $empresa->getId() ;
		
		if ( $this->db->executaConsulta($sql) ) {
			$matrizResult = $this->db->getResultSet();	
			
			return $matrizResult;
		}		
		
		$this->db->fecharConexao();
	}		
	
	public function inserirEmpresa($empresa) {
		$this->db->abrirConexao();
		$sql = "INSERT INTO empresa (nome, email, site, telefone, endereco, cidade, estado, cep, status, datacriacao) VALUES('?','?','?','?','?','?','?','?',?,'?')";
		$sqlPartes = explode('?', $sql);
		$sql = 	$sqlPartes[0] . 
				$empresa->getNome() . $sqlPartes[1] . 
				$empresa->getEmail() . $sqlPartes[2] . 
				$empresa->getSite() . $sqlPartes[3] . 
				$empresa->getTelefone() . $sqlPartes[4] . 
				$empresa->getEndereco() . $sqlPartes[5] . 
				$empresa->getCidade() . $sqlPartes[6] . 
				$empresa->getEstado() . $sqlPartes[7] . 
				$empresa->getCep() . $sqlPartes[8] . 
				$empresa->getStatus() . $sqlPartes[9] .
				date('Y-m-d H:i:s') . $sqlPartes[10];
		
					
		if ( $this->db->executaComando($sql) ) {
			$sql = "SELECT MAX(id) FROM empresa WHERE status = 0";
			
			if ( $this->db->executaConsulta($sql) ) {
				$matrizResult = $this->db->getResultSet();	
				
				return $matrizResult;
			} else {
				return null;
			}			
			
		} else {
			return null;
		}
		$this->db->fecharConexao();
	}
	
	public function alterarEmpresa($empresa) {
		$this->db->abrirConexao();
		$sql = "UPDATE empresa SET nome = '?', email = '?', site = '?', telefone = '?', endereco = '?', cidade = '?', estado = '?', cep = '?', status = ? WHERE id = ?";
		$sqlPartes = explode('?', $sql);
		$sql = 	$sqlPartes[0] . 
				$empresa->getNome() . $sqlPartes[1] . 
				$empresa->getEmail() . $sqlPartes[2] . 
				$empresa->getSite() . $sqlPartes[3] . 
				$empresa->getTelefone() . $sqlPartes[4] . 
				$empresa->getEndereco() . $sqlPartes[5] . 
				$empresa->getCidade() . $sqlPartes[6] . 
				$empresa->getEstado() . $sqlPartes[7] . 
				$empresa->getCep() . $sqlPartes[8] . 
				$empresa->getStatus() . $sqlPartes[9].
				$empresa->getId() . $sqlPartes[10];	
		if ( $this->db->executaComando($sql) ) {
			return true;
		} else {
			return false;
		}
		$this->db->fecharConexao();
	}
	
	
	public function addEmpresa($empresa) {
		array_push($this->empresa, $empresa);
	}
	
}
?>
